﻿using System;
using System.Configuration;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using SW_SoftBully.Controllers;
using SW_SoftBully.Models.ModuloAdministracion.ProvinciaPeru;
using SW_SoftBully.Models.ModuloAdministracion.DepartamentoPeru;
using System.Data.SqlClient;
using log4net;

namespace SW_SoftBully.Models.ModuloAdministracion.ProvinciaPeru
{
    public class ProvinciaPeruDAO
    {
        public List<ProvinciaPeruBean> ListarProvinciaPeru(DepartamentoPeruBean departamento)
        {
            try
            {
                List<ProvinciaPeruBean> listaProvinciaPeru = new List<ProvinciaPeruBean>();

                String cadenaConfiguracion = ConfigurationManager.ConnectionStrings["SoftBully"].ConnectionString;

                SqlConnection sqlCon = new SqlConnection(cadenaConfiguracion);

                sqlCon.Open();

                //System.Diagnostics.Debug.WriteLine("--------------------------------------_________MIERDA> " + departamento.Id_Departamento);

                string commandString = "SELECT * FROM Provincia " +
                                       "WHERE Id_Departamento = " + departamento.Id_Departamento.ToString();

                SqlCommand sqlCmd = new SqlCommand(commandString, sqlCon);

                SqlDataReader dataReader = sqlCmd.ExecuteReader();

                while (dataReader.Read())
                {
                    ProvinciaPeruBean ProvinciaPeru = new ProvinciaPeruBean();
                    ProvinciaPeru.Nombre = Convert.ToString(dataReader["Nombre"]);
                    ProvinciaPeru.Id_Departamento = Convert.ToInt32(dataReader["Id_Departamento"]);
                    ProvinciaPeru.Id_Provincia = Convert.ToInt32(dataReader["Id_Provincia"]);
                    listaProvinciaPeru.Add(ProvinciaPeru);
                    System.Diagnostics.Debug.WriteLine("--------------------------------------_________MIERDA> " + ProvinciaPeru.Nombre);
                }
                dataReader.Close();
                sqlCon.Close();

                return listaProvinciaPeru;
            }
            catch (Exception e)
            {
                String men = e.ToString();
                departamento.conexion = men;
                return null;
            }
        }

        public List<ProvinciaPeruBean> ListarProvinciaProv(DepartamentoPeruBean departamento)
        {
            try
            {
                List<ProvinciaPeruBean> listaProvinciaPeru = new List<ProvinciaPeruBean>();

                String cadenaConfiguracion = ConfigurationManager.ConnectionStrings["SoftBully"].ConnectionString;

                SqlConnection sqlCon = new SqlConnection(cadenaConfiguracion);

                sqlCon.Open();
                string commandString = "";

                if (departamento.Id_Departamento != 15)
                {
                    commandString = "SELECT p.id_provincia, p.id_departamento, p.nombre FROM provincia p, edificio e where e.id_edificio = " + departamento.id_edificio +
                                           " AND p.id_provincia = e.id_provincia AND p.id_departamento = " + departamento.Id_Departamento;

                    SqlCommand sqlCmd = new SqlCommand(commandString, sqlCon);

                    SqlDataReader dataReader = sqlCmd.ExecuteReader();

                    while (dataReader.Read())
                    {
                        ProvinciaPeruBean ProvinciaPeru = new ProvinciaPeruBean();
                        ProvinciaPeru.Nombre = Convert.ToString(dataReader["Nombre"]);
                        ProvinciaPeru.Id_Departamento = Convert.ToInt32(dataReader["id_departamento"]);
                        ProvinciaPeru.Id_Provincia = Convert.ToInt32(dataReader["id_provincia"]);
                        listaProvinciaPeru.Add(ProvinciaPeru);
                        System.Diagnostics.Debug.WriteLine("--------------------------------------_________MIERDA> " + ProvinciaPeru.Nombre);
                    }

                    dataReader.Close();
                    sqlCon.Close();
                }

                else {
                    ProvinciaPeruBean ProvPeru = new ProvinciaPeruBean();
                    ProvPeru.Nombre = "LIMA";
                    ProvPeru.Id_Provincia = 1501;
                    listaProvinciaPeru.Add(ProvPeru);
                }

                //SqlCommand sqlCmd = new SqlCommand(commandString, sqlCon);

                //SqlDataReader dataReader = sqlCmd.ExecuteReader();

                //while (dataReader.Read())
                //{
                //    ProvinciaPeruBean ProvinciaPeru = new ProvinciaPeruBean();
                //    ProvinciaPeru.Nombre = Convert.ToString(dataReader["Nombre"]);
                //    ProvinciaPeru.Id_Departamento = Convert.ToInt32(dataReader["Id_Departamento"]);
                //    ProvinciaPeru.Id_Provincia = Convert.ToInt32(dataReader["Id_Provincia"]);
                //    listaProvinciaPeru.Add(ProvinciaPeru);
                //    System.Diagnostics.Debug.WriteLine("--------------------------------------_________MIERDA> " + ProvinciaPeru.Nombre);
                //}

                //dataReader.Close();
                //sqlCon.Close();

                return listaProvinciaPeru;
            }
            catch (Exception e)
            {
                String men = e.ToString();
                departamento.conexion = men;
                return null;
            }
        }
    }
}